#pragma once

#include <iostream>
#include <string>
#include <sstream>
#include "TextManager.h"
#include "SDLInput.h"
#include "SDLTime.h"

class SDLText : public SDLSprite
{
public:
	SDLText(const SDLText& source);
	SDLText(std::string content, std::string fontPath);
	SDLText(std::string content, std::string fontPath, int size);
	SDLText(const std::string& _content, const std::string& _fontPath, int _size, SDLScene* _scene);
	SDLText(std::string content, std::string fontPath, int size, int renderMethod);

	~SDLText();
	
	void SetContent(std::string str);
	void SetRenderMethod(int renderMethod);
	void SetTextColor(int r, int g, int b);
	void SetTextColor(SDL_Color* color);
	void SetTextFont(std::string fontPath);
	void SetTextSize(int size);

	void SDLText::operator=(const std::string& text)
	{
		mContent = text;
		UpdateText();
	}

protected:
	std::string mContent;
	void UpdateText();

private:
	SDL_Color* mFontColor;
	std::string mFontPath;
	int mFontSize;
	int mRenderMethod;
};

